package com.zsc.wxapp.tasks;

import com.zsc.wxapp.services.PriceTimeService;
import com.zsc.wxapp.services.TaskService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

@Component
@Slf4j
public class TaskSchedulerTest {

    @Resource
    private TaskService taskService;
    @Resource
    private PriceTimeService priceTimeService;

    /**
     * 添加当天的次数数据到数据库中，
     * 并且把user表中的次数数据归零
     */
    @Scheduled(cron = "50 58 23 * * ?")
//    @Scheduled(fixedRate = 5000)
    public void runCronJob() {
//        System.out.println("定时任务执行，添加当天的照片上传次数到数据库");
        taskService.updateTodayData();
        log.info("定时任务完成，添加当天的照片上传次数到数据库");
    }

    /**
     * 统计当天的上传用户数到数据库中，
     * 一个用户当天多次上传只算一次
     */
    @Scheduled(cron = "50 58 23 * * ?")
//    @Scheduled(fixedDelay = 5000)
    public void runCronJob2() {
//        System.out.println("定时任务执行，添加当天上传用户数到数据库中");
        taskService.updateTodayNum();
        log.info("定时任务完成，添加当天上传用户数到数据库中");
    }

    @Scheduled(cron = "0 1 0 * * ?")
    public void getPrimeTimeDate() {
//        log.info("获取当天的价格数据");
        priceTimeService.getTodayPriceTime();
        log.info("定时任务完成，获取当天的价格数据");
    }
}
